package main.zxsafty.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * <p>
 * 储罐基本信息 
 * </p>
 *
 * @author H
 * @since 2023-06-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("base_t_tank")
@ApiModel(value="BaseTTank对象", description="储罐基本信息 ")
public class BaseTTank implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键 ID")
    private Long id;

    @ApiModelProperty(value = "所属单位")
    private String orgCode;

    @ApiModelProperty(value = "所属罐区")
    private Long tankAreaId;

    @ApiModelProperty(value = "所属生产装置")
    private Long deviceId;

    @ApiModelProperty(value = "所属危险源ID")
    private Long dangerId;

    @ApiModelProperty(value = "储罐名称")
    private String tankName;

    @ApiModelProperty(value = "储罐编号")
    private String tankNo;

    @ApiModelProperty(value = "所在区域")
    private String region;

    @ApiModelProperty(value = "火灾危险性编码")
    private String fireHazardCode;

    @ApiModelProperty(value = "风险等级编码")
    private String riskRatingCode;

    @ApiModelProperty(value = "储罐形状编码")
    private String tankShapeCode;

    @ApiModelProperty(value = "储罐材质类型编码")
    private String tankMaterialTypeCode;

    @ApiModelProperty(value = "设施用途类型编码")
    private String useTypeCode;

    @ApiModelProperty(value = "储罐位置编码")
    private String locationCode;

    @ApiModelProperty(value = "进料方式编码")
    private String inMaterielWayCode;

    @ApiModelProperty(value = "出料方式编码")
    private String outMaterielWayCode;

    @ApiModelProperty(value = "物质类型编码")
    private String chemicalStandardsCode;

    @ApiModelProperty(value = "投产日期")
    private LocalDate productionDate;

    @ApiModelProperty(value = "储罐直径")
    private String tankDiameter;

    @ApiModelProperty(value = "储罐直径单位")
    private String tankDiameterUnit;

    @ApiModelProperty(value = "设计温度是否常温【0:否，1:是】")
    private Boolean isNormalDesignTemperature;

    @ApiModelProperty(value = "设计温度最小值【下次迭代修改数据类型为：DECIMAL(10,2)】")
    private String designTemperatureMin;

    @ApiModelProperty(value = "设计温度最大值")
    private BigDecimal designTemperatureMax;

    @ApiModelProperty(value = "设计温度单位")
    private String designTemperatureUnit;

    @ApiModelProperty(value = "工作温度是否常温【0:否，1:是】")
    private Boolean isNormalWorkingTemperature;

    @ApiModelProperty(value = "工作温度最小值【下次迭代修改数据类型为：DECIMAL(10,2)】")
    private String workingTemperatureMin;

    @ApiModelProperty(value = "工作温度最大值【业务控制非空】")
    private BigDecimal workingTemperatureMax;

    @ApiModelProperty(value = "工作温度单位")
    private String workingTemperatureUnit;

    @ApiModelProperty(value = "设计压力是否常压【0:否，1:是】")
    private Boolean isNormalDesignPressure;

    @ApiModelProperty(value = "设计压力最小值【下次迭代修改数据类型为：DECIMAL(10,2)】")
    private String designPressureMin;

    @ApiModelProperty(value = "设计压力最大值【业务控制非空】")
    private BigDecimal designPressureMax;

    @ApiModelProperty(value = "设计压力单位")
    private String designPressureUnit;

    @ApiModelProperty(value = "工作压力是否常压【0:否，1:是】")
    private Boolean isNormalWorkingPressure;

    @ApiModelProperty(value = "工作压力最小值【下次迭代修改数据类型为：DECIMAL(10,2)】")
    private String workingPressureMin;

    @ApiModelProperty(value = "工作压力最大值【业务控制非空】")
    private BigDecimal workingPressureMax;

    @ApiModelProperty(value = "工作压力单位")
    private String workingPressureUnit;

    @ApiModelProperty(value = "容积【下次迭代修改数据类型为：DECIMAL(10,2)】")
    private String volume;

    @ApiModelProperty(value = "容积单位")
    private String volumeUnit;

    @ApiModelProperty(value = "设计储量")
    private BigDecimal designStorage;

    @ApiModelProperty(value = "设计储量单位")
    private String designStorageUnit;

    @ApiModelProperty(value = "物质状态")
    private String materialState;

    @ApiModelProperty(value = "进料管道直径")
    private String feedPipelineDiameter;

    @ApiModelProperty(value = "进料管道直径单位")
    private String feedPipelineDiameterUnit;

    @ApiModelProperty(value = "设计使用时长")
    private BigDecimal designLife;

    @ApiModelProperty(value = "设计使用时长单位")
    private String designLifeUnit;

    @ApiModelProperty(value = "是否有紧急切断功能 0：否1：是")
    private Boolean emergencyDisconnectionStatus;

    @ApiModelProperty(value = "储罐建造时间")
    private LocalDate tankCreateTime;

    @ApiModelProperty(value = "有无围堰【0:无，1:有】")
    private Boolean isCofferdam;

    @ApiModelProperty(value = "围堰高度【米/m】")
    private BigDecimal cofferdamHeight;

    @ApiModelProperty(value = "围堰长度【米/m】")
    private BigDecimal cofferdamLength;

    @ApiModelProperty(value = "围堰所围面积【平方米/㎡】")
    private BigDecimal cofferdamArea;

    @ApiModelProperty(value = "设计液位高度")
    private BigDecimal designLevelHeight;

    @ApiModelProperty(value = "设计液位高度单位")
    private String designLevelHeightUnit;

    @ApiModelProperty(value = "创建人")
    private Long cuserId;

    @ApiModelProperty(value = "创建时间")
    private Date ctime;

    @ApiModelProperty(value = "更新人")
    private Long uuserId;

    @ApiModelProperty(value = "更新时间")
    private Date utime;

    @ApiModelProperty(value = "是否删除 0：未删除1：已删除")
    private Boolean deleteStatus;

    @ApiModelProperty(value = "序号")
    private Integer sortId;

    @ApiModelProperty(value = "运行状态0:停用1:启用")
    private Boolean runningStatus;

    @ApiModelProperty(value = "是否评估固有风险等级【0:否，1:是】")
    private Boolean ratingStatus;

    @ApiModelProperty(value = "审核状态，0:草稿 1:提交 2:审批通过 3审批不通过")
    private Integer checkStatus;

    @ApiModelProperty(value = "设备编码 省同步信息")
    @TableField("equipCode")
    private String equipCode;

    @ApiModelProperty(value = "租户ID")
    private Long tenantId;

    @ApiModelProperty(value = "机构")
    private String department;

    @ApiModelProperty(value = "储罐高度")
    private BigDecimal height;

    @ApiModelProperty(value = "储罐高度单位")
    private String heightUnit;

    @ApiModelProperty(value = "储罐最大储量")
    private BigDecimal maximumStorage;

    @ApiModelProperty(value = "储罐最大储量单位")
    private String maximumStorageUnit;


}
